#ifndef TYPES_H
#define TYPES_H

#include <QObject>

#define ACK_TIMEOUT 2000         // ms
#define MEASURE_TIMEOUT 20000    // ms
#define TIMEOUT_DISCONNECT 60000 // ms

class Types : public QObject
{
    Q_OBJECT
public:
    explicit Types(QObject *parent = nullptr) : QObject{parent} {};

    enum DeviceStatus
    {
        IDLE = 0,
        MEASURING,
        UNKNOWN,
        DISCONNECTED,
        TIMEOUT
    };
    Q_ENUM(DeviceStatus)

    enum DrivingCurrent
    {
        AMPL_A15 = 0x00,
        AMPL_A25 = 0x01,
        AMPL_A5 = 0x02,
        AMPL_A8 = 0x03,
        AMPL_1A = 0x04
    };
    Q_ENUM(DrivingCurrent)

    enum TaskType
    {
        NONE = 0x00,
        GET_VOLTAGE,
        GET_SINGLE,
        GET_EIS
    };
    Q_ENUM(TaskType)

signals:
};

#endif // TYPES_H
